今天來練習數據的計算,首先來示範一下計算數據時最容易遇到的問題。
我們來計算一下年齡的平均值,用年齡的總和去除於數量
import pandas as pd
csv = "titanic.csv"
data = pd.read_csv(csv)
age_mean = sum(data.Age)/len(data.Age) #計算平均值(總和/數量)
age_mean
nan
但是結果竟然是 nan !
我們把 data 裡的 Age 指標印出來看看
可以看到其中第 888 格的值是 NaN,而且這只是其中一個而已,沒印出來的中間那段可能還有更多都是這樣的,這也是為什麼算不出來的原因了,你在計算過程中加入 NaN 出來的結果當然也只能是 NaN 了。
因此在計算東西時你會需要把 NaN 的值過濾掉。
我們可以利用 pandas 裡的函數 isnull() 來進行處理, isnull() 會把是空值的數值設為 True ,有值的設為 False,如下面示範。
import pandas as pd
csv = "titanic.csv"
data = pd.read_csv(csv)
age_null=pd.isnull(data.Age)
age_null
我們得到了這個結果後,就可以拿來處理很多東西。
import pandas as pd
csv = "titanic.csv"
data = pd.read_csv(csv)
age_null=pd.isnull(data.Age)
age_null
data.Age[age_null] #加上這段(把得出來的一堆True和False帶入data)
這樣我們就把結果是 NaN 的數據全都拿出來了,可以看到他的 Length 為 177 ,這代表在 data 裡一共有 177 個數據的Age欄位為 NaN。
明天我們在繼續將得出來的結果進行更多處理。